home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_1 / plt3d_dj < prev    next >
Internet Message Format  |  1995-03-31  |  17KB

  1. From: Dave Jansen <eldorado@ecn.purdue.edu>
  2. Subject:  v05i019:  plt3d_dj - 3d plot v1.0, Part01/01
  3. Newsgroups: comp.sources.hp48
  4. Followup-To: comp.sys.hp48
  5. Approved: spell@seq.uncwil.edu
  6.  
  7. Checksum: 3966815173 (verify with brik -cv)
  8. Submitted-by: Dave Jansen <eldorado@ecn.purdue.edu>
  9. Posting-number: Volume 5, Issue 19
  10. Archive-name: plt3d_dj/part01
  11.  
  12.  
  13. BEGIN_DOC plt3d.doc
  14. Here is a 3 dimentional surface graphing program for the HP48SX.
  15.  
  16. Some features are:
  17. 1.  It doesn't go belly up if it encounters a divide by zero or
  18.         undefined result.
  19. 2.  It allows the domains of the XY plane to be defined to any value (
  20.         although it centers the plot on the origin).
  21. 3.  The equation is entered in X, Y, Z format not parametric form.
  22. 4.  It creates a matrix of the topology of the surface which is useful for
  23.         locating actual values of a max or min.
  24.  
  25. It is controlled by its own plot parameters which are stored in SPAR.  SPAR
  26. is defined as a list with the following elements:
  27. { lower X limit; upper X limit; X increment; lower Y limit; upper Y limit;
  28.     Y increment; angle of X with horizontal; angle of Y with horizontal;
  29.     flag signalling to plot a plane at Z; value of Z to plot plane;
  30.     X expansion factor; Y expansion factor }
  31.  
  32. The upper and lower X limit is the domain in the X coordinate.
  33. Likewise for the upper and lower Y limit.
  34.  
  35. The X and Y increments set how close together the points will be.
  36.  
  37. The angles allow the XY plane to change shape for better viewing.  If they
  38. are changed by the same amount for consecutive plots, the graph will seem 
  39. to rotate.  A type of rotation by 90 degrees can be done using the Translate
  40. command on the variable TOPO.  The Translate command is found in the Matrix
  41. directory.
  42.  
  43. The flag determining whether an XY plane should be plotted can have the
  44. values -1, 0, 1.  0 designates no plane plotted.  1 designates the surface
  45. will be plotted on top of the plane.  -1 draws the plane above the surface.
  46.  
  47. Z is the value one the Z axis (the altitude) at which the XY plane will
  48. be plotted.
  49.  
  50. The X and Y expansion factors scale the graph on the HP screen.
  51.  
  52. Directions
  53.  
  54. 1.  Enter your equation and store it in varible EQ
  55. 2.  Press the SFACE menu key
  56. 3.  Wait for the screen to draw and then press a key to end
  57. 4.  If you wish to change one of the parameters in SPAR, do so and then
  58.     choose TRACE since the topology of the EQ is known.  This means that
  59.     recalculation is not needed to review the graph.
  60. 5.  The topology and the actual graph are saved when done.
  61.  
  62. Enjoy.  Send comments, questions, complaints to:
  63. _______________________________________________________________________________
  64. Dave Jansen             |  INTERNET:  eldorado@en.ecn.purdue.edu
  65. Electrical Engineering  |  BITNET:    eldorado%ea.ecn.purdue.edu@purccvm
  66. Purdue University       |  UUCP:     {purdue, pur-ee}!en.ecn.purdue.edu!eldorado
  67.  
  68. END_DOC
  69.  
  70. BEGIN_RPL 3dplt.rpl
  71. %%HP: T(3)A(D)F(.);
  72. DIR
  73.   SFACE
  74.     \<< SPAR OBJ\->
  75. DROP 0 { } \-> xa xb
  76. xi ya yb yi theta
  77. phi p z h v d flg
  78.       \<< RCLF 'flg'
  79. STO -20 -21 -22 SF
  80. CF CF RAD ya yb
  81.         FOR J J 'Y'
  82. STO xa xb
  83.           FOR I I
  84. 'X' STO DEPTH 'd'
  85. STO
  86.             IFERR
  87. EQ \->NUM
  88.             THEN
  89. DEPTH d - DROPN 0
  90.             END
  91.             IF DUP
  92. TYPE 1 ==
  93.             THEN
  94. DROP 0
  95.             END yi
  96.           STEP xi
  97.         STEP yb ya
  98. - ABS 1 + xb xa -
  99. ABS 1 + 2 \->LIST
  100. \->ARRY 'TOPO' STO {
  101. X Y } PURGE DEG -20
  102. -21 -22 CF SF SF
  103. 'flg' RCL STOF
  104. TRACE
  105.       \>>
  106.     \>>
  107.   TRACE
  108.     \<< SPAR OBJ\->
  109. DROP { } \-> xa xb xi
  110. ya yb yi theta phi
  111. p z h v flg
  112.       \<< 0 0 0 0 0 \->
  113. cphi sphi ctheta
  114. stheta prv
  115.         \<< RCLF
  116. 'flg' STO 64 STWS
  117. PICT PURGE { # 0d
  118. # 0d } PVIEW AXIS
  119. RAD theta \pi * 180 /
  120. \->NUM DUP SIN
  121. 'stheta' STO COS
  122. 'ctheta' STO phi \pi
  123. * 180 / \->NUM DUP
  124. SIN 'sphi' STO COS
  125. 'cphi' STO ya yb
  126.           FOR j j
  127. cphi * xa ctheta *
  128. - h * 65 + 0 RND
  129. # 1d * 63 j NEG
  130. sphi * xa stheta *
  131. - v * 31 + 0 RND
  132. TOPO 1 j ya - yi *
  133. 1 + 2 \->LIST GET
  134.             IF p 0
  135. \=/
  136.             THEN
  137.               IF
  138. DUP DUP z < p 0 >
  139. AND SWAP z > p 0 <
  140. AND OR
  141.               THEN
  142. DROP z
  143.               END
  144.             END + -
  145. # 1d * 2 \->LIST
  146. 'prv' STO 1 xa + xb
  147.             FOR i
  148. prv j cphi * i
  149. ctheta * - h * 65 +
  150. 0 RND # 1d * 63 j
  151. NEG sphi * i stheta
  152. * - v * 31 + 0 RND
  153. TOPO i xa - xi * 1
  154. + j ya - yi * 1 + 2
  155. \->LIST GET
  156.               IF p
  157. 0 \=/
  158.               THEN
  159. IF DUP DUP z < p 0
  160. > AND SWAP z > p 0
  161. < AND OR
  162. THEN DROP z
  163. END
  164.               END +
  165. - # 1d * 2 \->LIST
  166. DUP 'prv' STO LINE
  167. xi
  168.             STEP yi
  169.           STEP xa
  170. xb
  171.           FOR i ya
  172. cphi * i ctheta * -
  173. h * 65 + 0 RND # 1d
  174. * 63 ya NEG sphi *
  175. i stheta * - v * 31
  176. + 0 RND TOPO i xa -
  177. xi * 1 + 1 2 \->LIST
  178. GET
  179.             IF p 0
  180. \=/
  181.             THEN
  182.               IF
  183. DUP DUP z < p 0 >
  184. AND SWAP z > p 0 <
  185. AND OR
  186.               THEN
  187. DROP z
  188.               END
  189.             END + -
  190. # 1d * 2 \->LIST
  191. 'prv' STO 1 ya + yb
  192.             FOR j
  193. prv j cphi * i
  194. ctheta * - h * 65 +
  195. 0 RND # 1d * 63 j
  196. NEG sphi * i stheta
  197. * - v * 31 + 0 RND
  198. TOPO i xa - xi * 1
  199. + j ya - yi * 1 + 2
  200. \->LIST GET
  201.               IF p
  202. 0 \=/
  203.               THEN
  204. IF DUP DUP z < p 0
  205. > AND SWAP z > p 0
  206. < AND OR
  207. THEN DROP z
  208. END
  209.               END +
  210. - # 1d * 2 \->LIST
  211. DUP 'prv' STO LINE
  212. yi
  213.             STEP xi
  214.           STEP DEG
  215. PICT RCL 'GRPH' STO
  216.           DO
  217.           UNTIL KEY
  218.           END DROP
  219.         \>> 'flg' RCL
  220. STOF
  221.       \>>
  222.     \>>
  223.   AXIS
  224.     \<< SPAR OBJ\->
  225. DROP { } \-> xa xb xi
  226. ya yb yi theta phi
  227. p z h v flg
  228.       \<< RCLF 'flg'
  229. STO DEG { # 65d
  230. # 32d } DUP DUP {
  231. # 65d # 0d } LINE
  232. 10 h * theta COS *
  233. NEG 65 + 0 RND # 1d
  234. * 63 10 v * theta
  235. SIN * NEG 31 + - 0
  236. RND # 1d * 2 \->LIST
  237. LINE 10 h * phi COS
  238. * 65 + 0 RND # 1d *
  239. 63 10 v * phi SIN *
  240. NEG 31 + - 0 RND
  241. # 1d * 2 \->LIST LINE
  242. 'flg' RCL STOF
  243.       \>>
  244.     \>>
  245.   SPAR { -5 5 1 -5
  246. 5 1 30 45 0 0 5 3 }
  247.   EQ 'Y^2-X^2'
  248. END
  249. END_RPL
  250.  
  251.  
  252. BEGIN_ASC plt3d.asc
  253. %%HP: ;
  254. "69A20FF70B31000000205415208BA2084E201095ED2A2D20B184E201085ED2A2
  255. D20B190DA1B2130D300040350514254047A20AD3A2D13A29C2A2AD3A2D13A29C
  256. 2A23392010000000000000303392010000000000005404B2A24B2A2D13A23F2A
  257. 2B213027000401485943540D9D20E163284E204035051425B7FC18DBF147A20B
  258. 21301C432D6E20208716D6E20208726D6E20208796D6E20209716D6E20209726
  259. D6E20209796D6E20504786564716D6E2030078696D6E201007D6E2010A7D6E20
  260. 1086D6E201067D6E203066C676E1632916C145632D6E203066C67697632DCC02
  261. 993C147A20E4A20510001400000000000000E4A20510000200000000000000B2
  262. 13078BF178BF147A20E4A20510001400000000000000E4A20510000000000000
  263. 000000B2130893E1339201000000000000010D6E201086EEDA1D6E2050478656
  264. 4716505B1EEDA1599A133920100000000000056076BA14B2A255DB1E4A205100
  265. 01000000000000000EEDA1339201000000000000360339201000000000000010
  266. D6E201067EEDA1D6E20504786564716CA4B1EEDA1599A1339201000000000000
  267. 13076BA190DA14B2A255DB1E4A20510001000000000000000EEDA1ED2A2387C1
  268. 893E1339201000000000000010D6E201086EEDA1D6E2030078696505B1EEDA13
  269. 3920100000000000056076BA14B2A255DB1E4A20510001000000000000000EED
  270. A1339201000000000000360339201000000000000010D6E201067EEDA1D6E203
  271. 0078696CA4B1EEDA1599A133920100000000000013076BA190DA14B2A255DB1E
  272. 4A20510001000000000000000EEDA1ED2A2387C1893E145632D6E203066C6769
  273. 763204B02F76C1EF53293632B21302140050452514345450D9D20E163284E204
  274. 035051425B7FC18DBF147A20B21301C432D6E20208716D6E20208726D6E20208
  275. 796D6E20209716D6E20209726D6E20209796D6E20504786564716D6E20300786
  276. 96D6E201007D6E2010A7D6E201086D6E201067D6E203066C676E16324B2A24B2
  277. A24B2A24B2A24B2A21C432D6E204036078696D6E204037078696D6E206036478
  278. 6564716D6E2060374786564716D6E2030072767E1632916C145632D6E203066C
  279. 67697632DCC023392010000000000004605C5C1634E1EFE0247A20E4A2051000
  280. 0000000000000000E4A20510000000000000000000B21300F2E184E204014859
  281. 4354B3C1D6E20504786564716DBAA1EEDA133920200000000000081050FA14E5
  282. A178BF1CA4B145632D6E206037478656471697632DCC02505B145632D6E20603
  283. 6478656471697632DCC02D6E2030078696DBAA1EEDA133920200000000000081
  284. 050FA14E5A178BF1CA4B145632D6E20403707869697632DCC02505B145632D6E
  285. 20403607869697632DCC02D6E20209716D6E202097260A132D6E2010A6D6E201
  286. 0A6D6E204036078696EEDA1D6E20208716D6E2060364786564716EEDA190DA1D
  287. 6E201086EEDA133920100000000000056076BA14B2A255DB1E4A205100010000
  288. 00000000000EEDA1339201000000000000360D6E2010A6599A1D6E2040370786
  289. 96EEDA1D6E20208716D6E2060374786564716EEDA190DA1D6E201067EEDA1339
  290. 20100000000000013076BA14B2A255DB184E204045F405F49C2A2D6E2010A6D6
  291. E2020971690DA1D6E20209796EEDA19C2A276BA1ED2A2387C16C7D13CE22D6E2
  292. 010074B2A2D9AE1AFE22D9D203CE2278BF178BF1D6E2010A7EBBE1D6E2010074
  293. B2A2D5CE1387E1DBBF1D6E2010A7D5CE1D6E2010074B2A2EBBE1387E1908E1AF
  294. E22D9D208DBF1D6E2010A7B21305DF22B21305DF2276BA190DA1E4A205100010
  295. 00000000000000EEDA1ED2A2387C145632D6E203007276797632DCC029C2A2D6
  296. E2020871676BA1D6E202087260A132D6E201096D6E2030072767D6E2010A6D6E
  297. 204036078696EEDA1D6E201096D6E2060364786564716EEDA190DA1D6E201086
  298. EEDA133920100000000000056076BA14B2A255DB1E4A20510001000000000000
  299. 000EEDA1339201000000000000360D6E2010A6599A1D6E204037078696EEDA1D
  300. 6E201096D6E2060374786564716EEDA190DA1D6E201067EEDA13392010000000
  301. 0000013076BA14B2A255DB184E204045F405F4D6E201096D6E2020871690DA1D
  302. 6E20208796EEDA19C2A276BA1D6E2010A6D6E2020971690DA1D6E20209796EED
  303. A19C2A276BA1ED2A2387C16C7D13CE22D6E2010074B2A2D9AE1AFE22D9D203CE
  304. 2278BF178BF1D6E2010A7EBBE1D6E2010074B2A2D5CE1387E1DBBF1D6E2010A7
  305. D5CE1D6E2010074B2A2EBBE1387E1908E1AFE22D9D208DBF1D6E2010A7B21305
  306. DF22B21305DF2276BA190DA1E4A20510001000000000000000EEDA1ED2A2387C
  307. 178BF145632D6E203007276797632DCC02893E1D6E2020879608332D6E202097
  308. 9608332D6E20208716D6E202087260A132D6E201096D6E20209716D6E2040360
  309. 78696EEDA1D6E201096D6E2060364786564716EEDA190DA1D6E201086EEDA133
  310. 920100000000000056076BA14B2A255DB1E4A20510001000000000000000EEDA
  311. 1339201000000000000360D6E20209716599A1D6E204037078696EEDA1D6E201
  312. 096D6E2060374786564716EEDA190DA1D6E201067EEDA1339201000000000000
  313. 13076BA14B2A255DB184E204045F405F4D6E201096D6E2020871690DA1D6E202
  314. 08796EEDA19C2A276BA19C2A2ED2A2387C16C7D13CE22D6E2010074B2A2D9AE1
  315. AFE22D9D203CE2278BF178BF1D6E2010A7EBBE1D6E2010074B2A2D5CE1387E1D
  316. BBF1D6E2010A7D5CE1D6E2010074B2A2EBBE1387E1908E1AFE22D9D208DBF1D6
  317. E2010A7B21305DF22B21305DF2276BA190DA1E4A20510001000000000000000E
  318. EDA1ED2A2387C145632D6E203007276797632DCC029C2A2D6E2020971676BA1D
  319. 6E202097260A132D6E2010A6D6E2030072767D6E2010A6D6E204036078696EED
  320. A1D6E201096D6E2060364786564716EEDA190DA1D6E201086EEDA13392010000
  321. 0000000056076BA14B2A255DB1E4A20510001000000000000000EEDA13392010
  322. 00000000000360D6E2010A6599A1D6E204037078696EEDA1D6E201096D6E2060
  323. 374786564716EEDA190DA1D6E201067EEDA133920100000000000013076BA14B
  324. 2A255DB184E204045F405F4D6E201096D6E2020871690DA1D6E20208796EEDA1
  325. 9C2A276BA1D6E2010A6D6E2020971690DA1D6E20209796EEDA19C2A276BA1ED2
  326. A2387C16C7D13CE22D6E2010074B2A2D9AE1AFE22D9D203CE2278BF178BF1D6E
  327. 2010A7EBBE1D6E2010074B2A2D5CE1387E1DBBF1D6E2010A7D5CE1D6E2010074
  328. B2A2EBBE1387E1908E1AFE22D9D208DBF1D6E2010A7B21305DF22B21305DF227
  329. 6BA190DA1E4A20510001000000000000000EEDA1ED2A2387C178BF145632D6E2
  330. 03007276797632DCC02893E1D6E2020979608332D6E2020879608332993C1634
  331. E104B024563284E20407425058497632DCC023C032DE032378A19B6328DBF1EF
  332. 53245632D6E203066C6769763204B02F76C1EF53293632B21301DE0050356414
  333. 345450D9D20E163284E204035051425B7FC18DBF14B2A247A20B21301C432D6E
  334. 20208716D6E20208726D6E20208796D6E20209716D6E20209726D6E20209796D
  335. 6E20504786564716D6E2030078696D6E201007D6E2010A7D6E201086D6E20106
  336. 7D6E201046D6E203066C676E1632916C145632D6E203066C67697632DCC02339
  337. 201000000000000029339201000000000000129339201000000000000229472C
  338. 15D2C15D2C14B3C1D6E20209716D6E202097260A132D6E2010A4D6E2010A4456
  339. 3284E20109597632DCC02D6E20208716D6E202087260A132D6E201094D6E2010
  340. 944563284E20108597632DCC0244CF145632D6E20104697632DCC02FD332D9D2
  341. 084E202054154E5A1B2130F1732D9D2044CF1D6E20104690DA146CF14B2A2B21
  342. 305DF223CE2278BF168BC19C2A2279E1AFE22D9D208DBF14B2A2B21305DF22D6
  343. E2020979608332D6E2020879608332D6E20209726D6E2020971690DA1F1AA19C
  344. 2A276BA1D6E20208726D6E2020871690DA1F1AA19C2A276BA1ED2A2387C1900D
  345. 14563284E204045F405F497632DCC0247A2084E20108584E201095B2130EFE02
  346. 993C133920100000000000002933920100000000000012933920100000000000
  347. 02295D2C1472C1472C145632D6E203066C6769763204B02F76C184E205045251
  348. 43454EF53293632B2130F486"
  349. END_ASC
  350.  
  351.  
  352. BYTES: #684Fh 3018
  353.  
  354. BEGIN_UU plt3d.uue
  355. begin 644 plt3d
  356. M2%!(4#0X+466*O!_L!,````"15$"N"J`Y`(!6=ZBT@(;2"X0@.4M*BVPD=`:
  357. M*S'0`P`$4U!!4@1T*J`]*AVCDBPJVJ/2,2K)HC*3`@$````````#,RD0````
  358. M````14`K*K2BTC$J\Z*R$@-R`$`0A)4T1=#9`AXV@N0"!%-005)[SX&]'W0J
  359. ML!(#P332Y@(">&%M+B"`)];F`@)X:6TN()`7UN8"`GEB;2X@D)?6Y@(%=&AE
  360. M=&%M+C``AY;6Y@(!<&TN$*#7Y@(!:&TN$Y@(#9FQG'C:281Q4-M+F`@-F
  361. M;&=Y-M+,()G#0:<"3BI0`0!!`````````$XJ4`$`(``````````K,7"X'X?[
  362. M0:<"3BI0`0!!`````````$XJ4`$````````````K,8`Y'C,I$````````!#0
  363. MY@(!:.ZMT>8"!71H971A!;7AWAJ5J3&3`@$``````%`&9ZM!*RI5O>&D`A4`
  364. M$`````````#@WAHS*1````````!C,),"`0````````%M+A!@Y]X:;2Y00(=6
  365. M1A?&2AONK5&9&C,I$````````#%PMAH)K4$K*E6]X:0"%0`0`````````.#>
  366. M&MZB,G@<F.,QDP(!`````````6TN$(#FWAIM+C``AY964!ONK3&3`@$`````
  367. M`%`&9ZM!*RI5O>&D`A4`$`````````#@WAHS*1````````!C,),"`0``````
  368. M``%M+A!@Y]X:;2XP`(>6QDH;[JU1F1HS*1`````````Q<+8:":U!*RI5O>&D
  369. M`A4`$`````````#@WAK>HC)X')CC064C;2XP8,9VEF<C0`OR9QS^-9)C(RLQ
  370. M($$`!51204-%!9TMX&$C2"Y`,`45)+7W'-C[0:<"*S$03"-M+B"`%];F`@)X
  371. M8FTN(("7UN8"`GEA;2X@D"?6Y@(">6EM+E!`AU9&%];F`@-P:&EM+A``U^8"
  372. M`7IM+A"`UN8"`79M+C!@QG;F82.THD(K*K2B0BLJM*(23"-M+D`P!H>6UN8"
  373. M!'-P:&EM+F`P1H=61A?6Y@(&<W1H971A;2XP`"=GYV$C&<9!92-M+C!@QG:6
  374. M9R/-##*3`@$``````$`&Q<5A0Q[^#D*G`DXJ4`$```````````!.*E`!````
  375. M````````*S$`+QY(+D`0A)4T13L<;2Y00(=61A?6JQKNK3&3`@(``````(`!
  376. M!:]!7AJ'^\%*&U0VTN8"!G-T:&5T87DVTLP@!;5!92-M+F`P1H=61A>69R/-
  377. M#-+F`@-P:&F]JN'>&C,I(````````!A0\!KDI7&X'ZRT064C;2Y`,`>'EI9G
  378. M(\T,4E`;5#;2Y@($8W!H:7DVTLP@;2X@D!?6Y@(">6*@,=+F`@%J;2X0H-;F
  379. M`@1C<&AI[JW1Y@(">&%M+F`P1H=61A?FWAH)K='F`@%H[JTQDP(!``````!0
  380. M!F>K02LJ5;WAI`(5`!``````````X-X:,RD0````````8]#F`@%JE:G1Y@($
  381. M<W!H:>ZMT>8"`GAA;2Y@,$>'5D87YMX:":W1Y@(!=NZM,9,"`0``````$`-G
  382. MJT$K*E6]@>0"!%1/4$_)HM+F`@%J;2X@D!>6T!IM+B"0E^;>&LFB<K8:WJ(R
  383. M>!S&US'L(FTN$`!'*RJ=ZJ'O(ITM,.PBA_MQN!]M+A"@Y[L>;2X0`$<K*EWL
  384. M,7@>O?O1Y@(!>EWLT>8"`7"THN*['H/GD8`>^B[2V0+8^]'F`@%Z*S%0_2(K
  385. M,5#](F>KD=`:3BI0`0`!`````````.ZMX2TJ@\=!92-M+C``)V>79R/-#)(L
  386. M*FTN((`7=K8:;2X@@"<&&B-M+A"0UN8"`W!R=FTN$*#6Y@($8W!H:>ZMT>8"
  387. M`6EM+F`P1H=61A?FWAH)K='F`@%H[JTQDP(!``````!0!F>K02LJ5;WAI`(5
  388. M`!``````````X-X:,RD0````````8]#F`@%JE:G1Y@($<W!H:>ZMT>8"`6EM
  389. M+F`P1X=61A?FWAH)K='F`@%V[JTQDP(!```````0`V>K02LJ5;V!Y`($5$]0
  390. M3VTN$)#6Y@(">&$)K='F`@)X:>ZMD2PJ9ZO1Y@(!:FTN()`7EM`:;2X@D)?F
  391. MWAK)HG*V&MZB,G@<QM<Q[")M+A``1RLJG>JA[R*=+3#L(H?[<;@?;2X0H.>[
  392. M'FTN$`!'*RI=[#%X'KW[T>8"`7I=[-'F`@%PM*+BNQZ#YY&`'OHNTMD"V/O1
  393. MY@(!>BLQ4/TB*S%0_2)GJY'0&DXJ4`$``0````````#NK>$M*H/'<;@?5#;2
  394. MY@(#<')V>3;2S""8X]'F`@)X:8`STN8"`GEI@#/2Y@(">&%M+B"`)P8:(VTN
  395. M$)#6Y@(">6%M+D`P!H>6YMX:;2X0D-;F`@9C=&AE=&'NK9'0&FTN$(#FWAHS
  396. M*1````````!E<+8:M*)2U1M.*E`!``$`````````[JTQDP(!```````P!FTN
  397. M()`75ID:;2Y`,`>'EN;>&FTN$)#6Y@(&<W1H971A[JV1T!IM+A!@Y]X:,RD0
  398. M````````,7"V&K2B4M4;2"Y`0/4$]=3F`@%I;2X@@!>6T!IM+B"`E^;>&LFB
  399. M<K8:R:+B+2J#QV%\'<,NTN8"`7"THM*I'OHNTMD"PRYRN!^'^]'F`@%ZONO1
  400. MY@(!<+2BTL4>@^?1NQ]M+A"@U\4>;2X0`$<K*K[K,7@>">BA[R*=+8"]'VTN
  401. M$*"W$@/5+[(2`]4O<K8:":WAI`(5`!``````````X-X:WJ(R>!Q4-M+F`@-P
  402. M<G9Y-M+,(,FBTN8"`GEA9ZO1Y@(">6*@,=+F`@%J;2XP`"=GU^8"`6IM+D`P
  403. M!H>6YMX:;2X0D-;F`@9C=&AE=&'NK9'0&FTN$(#FWAHS*1````````!E<+8:
  404. MM*)2U1M.*E`!``$`````````[JTQDP(!```````P!FTN$*!6F1IM+D`P!X>6
  405. MYMX:;2X0D-;F`@9S=&AE=&'NK9'0&FTN$&#GWAHS*1`````````Q<+8:M*)2
  406. MU1M(+D!`]03UU.8"`6EM+B"`%Y;0&FTN(("7YMX:R:)RMAIM+A"@UN8"`GEA
  407. M":W1Y@(">6GNK9$L*F>KX2TJ@\=A?!W#+M+F`@%PM*+2J1[Z+M+9`L,N<K@?
  408. MA_O1Y@(!>K[KT>8"`7"THM+%'H/GT;L?;2X0H-?%'FTN$`!'*RJ^ZS%X'@GH
  409. MH>\BG2V`O1]M+A"@MQ(#U2^R$@/5+W*V&@FMX:0"%0`0`````````.#>&MZB
  410. M,G@<A_M!92-M+C``)V>79R/-#((Y'FTN()"7!C@C;2X@@)<&.".9PV%#'D`+
  411. M0F4C2"Y`<"0%A91G(\T,,@PC[3`RAQJY-H*]'_XU0F4C;2XP8,9VEF<C0`OR
  412. M9QS^-9)C(RLQ$.T`!5-&04-%!9TMX&$C2"Y`,`45)+7W'-C[02LJ="JP$@/!
  413. M--+F`@)X86TN((`GUN8"`GAI;2X@D!?6Y@(">6)M+B"0E];F`@5T:&5T86TN
  414. M,`"'EM;F`@%P;2X0H-?F`@%H;2X08-?F`@%D;2XP8,9VYF$C&<9!92-M+C!@
  415. MQG:69R/-##*3`@$```````"2,RD0````````(3F3`@$``````""2=,)1+1S5
  416. MPD$['&TN()`7UN8"`GEBH#'2Y@(!2FTN$*!$92-(+A"0E6<CS0S2Y@(">&%M
  417. M+B"`)P8:(VTN$)#4Y@(!250V@N0"`5AY-M+,($3\064C;2X00)9G(\T,\CTC
  418. MG2V`Y`("15'DI;$2`Q\WTMD"1/S1Y@(!9`FM0<8?M**R$@/5+S+L(H?[8;@<
  419. MR:(BEQ[Z+M+9`MC[02LJ*S%0_2)M+B"0EP8X(VTN(("7!C@C;2X@D"?6Y@("
  420. M>6$)K?&A&LFB<K8:;2X@@"?6Y@(">&$)K?&A&LFB<K8:WJ(R>!P)T$%E(T@N
  421. M0$#U!/649R/-#$*G`D@N$("%Y`(!62LQX.\@F<,QDP(!````````DC,I$```
  422. M`````"$YDP(!```````@DM7"02<<=,)!92-M+C!@QG:69R-`"_)G'$@N4$`E
  423. +%314Y%\C.3:R$@.R
  424. `
  425. end
  426. sum -r/size 25030/4194 section (from "begin" to "end")
  427. sum -r/size 37886/3026 entire input file
  428. END_UU
  429.